﻿#ifndef WRWORKDEVICESTATUSCHANGEEVENT_H
#define WRWORKDEVICESTATUSCHANGEEVENT_H

#include <QEvent>
#include "WRWorkDevice.h"

//表示工作设备状态改变事件。
class WRSOFT_WORKING_COMMON_CLASS WRWorkDeviceStatusChangeEvent : public QEvent
{
private:
    int m_index;
    WRWorkStatus m_status;
    WRWorkDevice* m_target;

    //释放当前对象所占用的相关资源。
    ~WRWorkDeviceStatusChangeEvent(void);

public:
    //判断指定的事件是否是当前事件。
    static bool identify(const QEvent* e);
    //判断指定的事件是否是当前事件。
    static bool identify(const QEvent& e);

    //初始化工作设备状态改变事件。
    WRWorkDeviceStatusChangeEvent(WRWorkDevice* target, WRWorkStatus status);
    //初始化工作设备状态改变事件。
    WRWorkDeviceStatusChangeEvent(int index, WRWorkDevice* target, WRWorkStatus status);

    //获取索引号。
    inline int index(void) const
    {
        return m_index;
    }
    //获取工作设备。
    inline WRWorkDevice* target(void) const
    {
        return m_target;
    }
    //获取工作设备状态。
    inline WRWorkStatus status(void) const
    {
        return m_status;
    }
};

#endif // WRWORKDEVICESTATUSCHANGEEVENT_H
